/*
  奇数因子
  题目描述
    小 Egor 非常喜欢正整数及其因子，数字越大越有趣。
    他希望你能为他设计一个可以玩下面这个游戏的算法：
      定义 f(n) 为 n 的所有奇数因子之和（相同的因子只计算一次）。
      比如 f(10) = 1 + 5 = 6, f(21) = 1 + 3 + 7 + 21 = 32。
      这个游戏就是，对于给定的 l 和 r，计算和 f(l) + f(l+1) + ... + f(r-1) + f(r)。

    祝你玩得开心！不过请注意，算出来的结果可能比较大。
  输入
    第一行包含一个整数 T (1 <= T <= 5), 代表测试数据的组数。
    接下来是 T 组数据。对于每组测试数据, 满足 1 <= l <= r <= 10^5。
  输出
    对于每组数据，输出一行，包含一个整数，代表要求的和。
  样例输入
    2
    1 10
    42 42
  样例输出
    45
    32
  提示
    在第一组数据中，f(1) + f(2) + ... + f(10) = 1 + 1 + 4 + 1 + 6 + 4 + 8 + 1 + 13 + 6 = 45。
    在第二组数据中，f(42) = 32。
*/

#include <bits/stdc++.h>
using namespace std;

long long d[100001] = {}; // 前缀和

// 计算输入参数 n (n 为正整数) 的奇数因子和
long long ai(int n) {
    long long sum = 0;

    // 注意: 为了避免程序运行时出现超时, 此处对进行了优化!
    for (int i = 1; i * i <= n; i++) {
        if (n % i == 0) {  // i 为 n 的因子
            /*
              注意:
                一轮可以找到 n 的 一对因子：i 和 n/i
                由于题目中要找奇数的因子之和, 所以还需要对这一对因子进行判断,
                  判断 "这一对因子是否相等"，以及"这一对因子分别是否是奇数"
            */
            if (i % 2 == 1) {
                sum = sum + i;
            }
            if (n / i != i && (n / i) % 2 == 1) {
                sum = sum + n / i;
            }
        }
    }
    return sum;
}

int main() {
    int t;
    cin >> t;

    // 计算前 100000 (1~100000) 个数的奇数因子和的前缀和
    for (int i = 1; i <= 100000; i++) {
        d[i] = d[i - 1] + ai(i);  // 说明: d[0] == 0
    }

    // 循环进行 t 轮处理
    for (int i = 1; i <= t; i++) {
        // 输入 l 和 r，计算并输出 f(l) + f(l+1) + ... + f(r-1) + f(r) 的值
        int l , r;
        cin >> l >> r;
        cout << d[r] - d[l - 1] << endl;
    }

    return 0;
}